// 导入
const fs = require('fs')
const path = require('path')

// 定义正则
const styleRegex = /<style>([\s\S]*?)<\/style>/ig
const scriptRegex = /<script>([\s\S]*?)<\/script>/ig

// 读取文件
const filePath = path.join(__dirname,'clock.html')
fs.readFile(filePath,'utf-8',(err,dataStr)=>{
  if(err){
    return console.log('读取文件失败：',err.message)
  }
  // 提取内容
  const styleArr = dataStr.match(styleRegex)
  const scriptArr = dataStr.match(scriptRegex)
  const htmlStr = dataStr.replace(styleRegex,'<link rel="stylesheet" href="index.css">')
                         .replace(scriptRegex,'<script src="index.js"></script>')

  const styleContent = []
  Array.isArray(styleArr) && styleArr.forEach(item => {
    const content = item.replace('<style>','').replace('</style>','').trim()
    styleContent.push(content)
  })

  const scriptContent = []
  Array.isArray(scriptArr) && scriptArr.forEach(item => {
    const content = item.replace('<script>','').replace('</script>','').trim()
    scriptContent.push(content)
  })

  const styleStr = styleContent.join('\n')
  const scriptStr = scriptContent.join('\n')

  // 写入文件
  fs.writeFile(path.join(__dirname,'index.css'),styleStr,'utf-8',(err)=>{
    if(err){
      return console.log('写入 CSS 文件失败：',err.message)
    }
    console.log('写入 CSS 文件成功！')
  })
  fs.writeFile(path.join(__dirname,'index.js'),scriptStr,'utf-8',(err)=>{
    if(err){
      return console.log('写入 js 文件失败：',err.message)
    }
    console.log('写入 js 文件成功！')
  })
  fs.writeFile(path.join(__dirname,'index.html'),htmlStr,'utf-8',(err)=>{
    if(err){
      return console.log('写入 html 文件失败：',err.message)
    }
    console.log('写入 html 文件成功！')
  })
  return
})
